implementation
1. SetExtent increments the base component of the instvar minsize to adjust the overall baseline according to the actual height of the Cluster. This is OK if the layout is calculated the first time. But on subsequent invocations, when the method GetMinSize does no longer recalculate the instvar minsize, the baseline is incremented again and again. This error can be seen if a Cluster is installed in a horizontal Expander (such an Expander aligns at the baseline) and the window is resized several times.
A solution would be to save the initial value of the baseline in a separate variable and update the baseline in SetExtent based on the value of that variable.
2. If an expand flag is set (eVObjHExpand or eVObjVExpand), then SetExtent always expands the inner VObjects without checking their fixed flags (eVObjHFixed or eVObjVFixed).
If this error would be fixed, the functionality of the Expander would be fully provided by the Cluster.